package com.example.ticketingserver.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

@Schema(description = "统一返回结果")
@Data
@Accessors(chain = true)
public class R {
    /**
     * 状态码，例如0-成功 1-失败 40001-权限不够 5001-系统异常
     */
    @Schema(description = "状态码，例如0-成功 1-失败 40001-权限不够 5001-系统异常")
    private Integer code;
    /**
     * 成功或失败标记 true-成功 false-失败
     */
    @Schema(description = "成功或失败标记 true-成功 false-失败")
    private boolean success;
    /**
     * 附加文本消息。例如：请求成功/请求失败
     */
    @Schema(description = "附加文本消息。例如：请求成功/请求失败")
    private String msg;
    /**
     * 返回到客户端的附加数据
     */
    @Schema(description = "返回到客户端的附加数据")
    private Object data;

    @Schema(description = "返回到客户端的附加数据")
    private  Long count;
    /**
     * 定义成功统一返回结果
     * @return
     */
    public static R ok(){
        R r = new R();
        r.code = 0;
        r.msg = "执行成功！";
        r.success = true;
        return r;
    }
    /**
     * 定义失败统一返回结果
     * @return
     */
    public static R fail(){
        R r = new R();
        r.code = 1;
        r.msg = "执行失败！";
        r.success = false;
        return r;
    }
}
